{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from model.db import DB_ENGINE\n",
    "from datetime import datetime\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>clickcount</th>\n",
       "      <th>replycount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>shang</th>\n",
       "      <th>totalScore</th>\n",
       "      <th>posttime</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>134</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-15 00:47:55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>83</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-15 06:38:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>499</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>50.72</td>\n",
       "      <td>2018-07-15 15:10:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11535</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 09:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>89</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:08:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:09:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:16:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>24</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:30:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>29</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:35:17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>57</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:47:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:49:46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>28</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 11:29:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>81</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 11:30:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>45</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 11:32:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>45</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 11:40:24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>48</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 11:51:23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>43</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 12:41:37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 14:27:40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>14</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 14:40:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>36</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 14:49:04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>53</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 15:12:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 15:27:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>24</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 15:39:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>122</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 15:40:08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>675</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0.0</td>\n",
       "      <td>141.19</td>\n",
       "      <td>2018-07-16 18:08:38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>1192</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 18:54:12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>40</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 20:18:15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>90</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-17 09:59:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>31</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-17 12:39:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>121</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-17 14:56:45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73688</th>\n",
       "      <td>11115</td>\n",
       "      <td>137</td>\n",
       "      <td>23</td>\n",
       "      <td>0.0</td>\n",
       "      <td>248.22</td>\n",
       "      <td>2018-09-15 17:05:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73689</th>\n",
       "      <td>15873</td>\n",
       "      <td>211</td>\n",
       "      <td>33</td>\n",
       "      <td>0.0</td>\n",
       "      <td>381.78</td>\n",
       "      <td>2018-09-15 17:07:42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73690</th>\n",
       "      <td>22879</td>\n",
       "      <td>285</td>\n",
       "      <td>56</td>\n",
       "      <td>10.0</td>\n",
       "      <td>574.86</td>\n",
       "      <td>2018-09-15 17:13:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73691</th>\n",
       "      <td>23180</td>\n",
       "      <td>840</td>\n",
       "      <td>32</td>\n",
       "      <td>0.0</td>\n",
       "      <td>281.79</td>\n",
       "      <td>2018-09-15 17:23:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73692</th>\n",
       "      <td>1263</td>\n",
       "      <td>16</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>25.82</td>\n",
       "      <td>2018-09-15 17:45:38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73693</th>\n",
       "      <td>401</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-09-15 17:59:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73694</th>\n",
       "      <td>1152</td>\n",
       "      <td>32</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-09-15 18:38:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73695</th>\n",
       "      <td>3334</td>\n",
       "      <td>38</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>37.27</td>\n",
       "      <td>2018-09-15 18:46:04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73696</th>\n",
       "      <td>780</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>37.27</td>\n",
       "      <td>2018-09-15 19:42:04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73697</th>\n",
       "      <td>918</td>\n",
       "      <td>24</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>119.47</td>\n",
       "      <td>2018-09-15 19:48:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73698</th>\n",
       "      <td>1507</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.0</td>\n",
       "      <td>75.83</td>\n",
       "      <td>2018-09-15 19:58:41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73699</th>\n",
       "      <td>262</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>25.82</td>\n",
       "      <td>2018-09-15 20:18:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73700</th>\n",
       "      <td>6591</td>\n",
       "      <td>77</td>\n",
       "      <td>12</td>\n",
       "      <td>0.0</td>\n",
       "      <td>104.45</td>\n",
       "      <td>2018-09-15 20:44:43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73701</th>\n",
       "      <td>702</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-09-15 21:17:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73702</th>\n",
       "      <td>2777</td>\n",
       "      <td>53</td>\n",
       "      <td>3</td>\n",
       "      <td>0.0</td>\n",
       "      <td>42.00</td>\n",
       "      <td>2018-09-15 21:27:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73703</th>\n",
       "      <td>2094</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54.59</td>\n",
       "      <td>2018-09-15 21:32:53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73704</th>\n",
       "      <td>9294</td>\n",
       "      <td>94</td>\n",
       "      <td>17</td>\n",
       "      <td>0.0</td>\n",
       "      <td>148.59</td>\n",
       "      <td>2018-09-15 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73705</th>\n",
       "      <td>1250</td>\n",
       "      <td>9</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54.59</td>\n",
       "      <td>2018-09-15 21:38:05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73706</th>\n",
       "      <td>506</td>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>0.0</td>\n",
       "      <td>24.26</td>\n",
       "      <td>2018-09-15 21:54:39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73707</th>\n",
       "      <td>737</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54.59</td>\n",
       "      <td>2018-09-15 21:59:12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73708</th>\n",
       "      <td>15562</td>\n",
       "      <td>144</td>\n",
       "      <td>31</td>\n",
       "      <td>0.0</td>\n",
       "      <td>321.41</td>\n",
       "      <td>2018-09-15 22:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73709</th>\n",
       "      <td>1995</td>\n",
       "      <td>38</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>80.42</td>\n",
       "      <td>2018-09-15 22:19:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73710</th>\n",
       "      <td>1300</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>228.66</td>\n",
       "      <td>2018-09-15 22:26:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73711</th>\n",
       "      <td>6534</td>\n",
       "      <td>178</td>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.13</td>\n",
       "      <td>2018-09-15 22:26:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73712</th>\n",
       "      <td>1021</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>91.87</td>\n",
       "      <td>2018-09-15 22:35:26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73713</th>\n",
       "      <td>760</td>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>158.85</td>\n",
       "      <td>2018-09-15 22:36:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73714</th>\n",
       "      <td>2104</td>\n",
       "      <td>45</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>135.65</td>\n",
       "      <td>2018-09-15 22:40:25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73715</th>\n",
       "      <td>1839</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.17</td>\n",
       "      <td>2018-09-15 23:35:05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73716</th>\n",
       "      <td>72610</td>\n",
       "      <td>2928</td>\n",
       "      <td>263</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2446.53</td>\n",
       "      <td>2018-09-15 23:37:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73717</th>\n",
       "      <td>10234</td>\n",
       "      <td>126</td>\n",
       "      <td>28</td>\n",
       "      <td>0.0</td>\n",
       "      <td>324.06</td>\n",
       "      <td>2018-09-15 23:38:36</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>73717 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       clickcount  replycount  upCount  shang  totalScore            posttime\n",
       "pid                                                                          \n",
       "1             134           6        0    0.0        0.00 2018-07-15 00:47:55\n",
       "2              83           6        0    0.0        0.00 2018-07-15 06:38:52\n",
       "3             499           4        1    0.0       50.72 2018-07-15 15:10:31\n",
       "4           11535           5        0    0.0        0.00 2018-07-16 09:03:09\n",
       "5              89           1        0    0.0        0.00 2018-07-16 10:08:26\n",
       "6              18           1        0    0.0        0.00 2018-07-16 10:09:49\n",
       "7              11           1        0    0.0        0.00 2018-07-16 10:16:20\n",
       "8              24           1        0    0.0        0.00 2018-07-16 10:30:34\n",
       "9              29           2        0    0.0        0.00 2018-07-16 10:35:17\n",
       "10             57           3        0    0.0        0.00 2018-07-16 10:47:20\n",
       "11             18           2        0    0.0        0.00 2018-07-16 10:49:46\n",
       "12             28           2        0    0.0        0.00 2018-07-16 11:29:30\n",
       "13             81           6        0    0.0        0.00 2018-07-16 11:30:29\n",
       "14             45           2        0    0.0        0.00 2018-07-16 11:32:19\n",
       "15             45           2        0    0.0        0.00 2018-07-16 11:40:24\n",
       "16             48           2        0    0.0        0.00 2018-07-16 11:51:23\n",
       "17             43           3        0    0.0        0.00 2018-07-16 12:41:37\n",
       "18             26           1        0    0.0        0.00 2018-07-16 14:27:40\n",
       "19             14           1        0    0.0        0.00 2018-07-16 14:40:49\n",
       "20             36           1        0    0.0        0.00 2018-07-16 14:49:04\n",
       "21             53           2        0    0.0        0.00 2018-07-16 15:12:32\n",
       "22             20           1        0    0.0        0.00 2018-07-16 15:27:33\n",
       "23             24           2        0    0.0        0.00 2018-07-16 15:39:06\n",
       "24            122           2        0    0.0        0.00 2018-07-16 15:40:08\n",
       "25            675           2        3    0.0      141.19 2018-07-16 18:08:38\n",
       "26           1192           5        0    0.0        0.00 2018-07-16 18:54:12\n",
       "27             40           5        0    0.0        0.00 2018-07-16 20:18:15\n",
       "28             90           1        0    0.0        0.00 2018-07-17 09:59:33\n",
       "29             31           2        0    0.0        0.00 2018-07-17 12:39:35\n",
       "30            121           5        0    0.0        0.00 2018-07-17 14:56:45\n",
       "...           ...         ...      ...    ...         ...                 ...\n",
       "73688       11115         137       23    0.0      248.22 2018-09-15 17:05:49\n",
       "73689       15873         211       33    0.0      381.78 2018-09-15 17:07:42\n",
       "73690       22879         285       56   10.0      574.86 2018-09-15 17:13:32\n",
       "73691       23180         840       32    0.0      281.79 2018-09-15 17:23:00\n",
       "73692        1263          16        1    0.0       25.82 2018-09-15 17:45:38\n",
       "73693         401           8        0    0.0        0.00 2018-09-15 17:59:48\n",
       "73694        1152          32        0    0.0        0.00 2018-09-15 18:38:18\n",
       "73695        3334          38        4    0.0       37.27 2018-09-15 18:46:04\n",
       "73696         780           1        4    0.0       37.27 2018-09-15 19:42:04\n",
       "73697         918          24        2    0.0      119.47 2018-09-15 19:48:58\n",
       "73698        1507           0        7    0.0       75.83 2018-09-15 19:58:41\n",
       "73699         262           0        1    0.0       25.82 2018-09-15 20:18:35\n",
       "73700        6591          77       12    0.0      104.45 2018-09-15 20:44:43\n",
       "73701         702           5        0    0.0        0.00 2018-09-15 21:17:19\n",
       "73702        2777          53        3    0.0       42.00 2018-09-15 21:27:28\n",
       "73703        2094          29        1    0.0       54.59 2018-09-15 21:32:53\n",
       "73704        9294          94       17    0.0      148.59 2018-09-15 21:34:11\n",
       "73705        1250           9        1    0.0       54.59 2018-09-15 21:38:05\n",
       "73706         506          13        3    0.0       24.26 2018-09-15 21:54:39\n",
       "73707         737           8        1    0.0       54.59 2018-09-15 21:59:12\n",
       "73708       15562         144       31    0.0      321.41 2018-09-15 22:00:48\n",
       "73709        1995          38        2    0.0       80.42 2018-09-15 22:19:28\n",
       "73710        1300           4        4    0.0      228.66 2018-09-15 22:26:09\n",
       "73711        6534         178       11    0.0       95.13 2018-09-15 22:26:51\n",
       "73712        1021          15        5    0.0       91.87 2018-09-15 22:35:26\n",
       "73713         760          12        4    0.0      158.85 2018-09-15 22:36:30\n",
       "73714        2104          45        4    0.0      135.65 2018-09-15 22:40:25\n",
       "73715        1839           6        2    0.0       16.17 2018-09-15 23:35:05\n",
       "73716       72610        2928      263    0.0     2446.53 2018-09-15 23:37:51\n",
       "73717       10234         126       28    0.0      324.06 2018-09-15 23:38:36\n",
       "\n",
       "[73717 rows x 6 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_sql(\n",
    "    'SELECT p.pid, p.clickcount, p.replycount, r.upCount, r.shang, r.totalScore, r.posttime FROM posts p, replys r WHERE p.pid=r.pid AND r.replyid=0',\n",
    "    con=DB_ENGINE, \n",
    "    index_col='pid', \n",
    "    parse_dates=['posttime']\n",
    ")\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "clickcount             int64\n",
      "replycount             int64\n",
      "upCount                int64\n",
      "shang                float64\n",
      "totalScore           float64\n",
      "posttime      datetime64[ns]\n",
      "dtype: object\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>clickcount</th>\n",
       "      <th>replycount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>shang</th>\n",
       "      <th>totalScore</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>7.371700e+04</td>\n",
       "      <td>73717.000000</td>\n",
       "      <td>73717.000000</td>\n",
       "      <td>73717.000000</td>\n",
       "      <td>73717.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.879154e+03</td>\n",
       "      <td>78.066728</td>\n",
       "      <td>13.564022</td>\n",
       "      <td>5.830161</td>\n",
       "      <td>219.113911</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>2.900466e+04</td>\n",
       "      <td>814.192578</td>\n",
       "      <td>77.269020</td>\n",
       "      <td>396.532467</td>\n",
       "      <td>989.998688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>6.000000e+01</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2.090000e+02</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>50.060000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>9.750000e+02</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>161.660000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>3.503429e+06</td>\n",
       "      <td>125474.000000</td>\n",
       "      <td>2778.000000</td>\n",
       "      <td>93694.000000</td>\n",
       "      <td>53898.840000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         clickcount     replycount       upCount         shang    totalScore\n",
       "count  7.371700e+04   73717.000000  73717.000000  73717.000000  73717.000000\n",
       "mean   2.879154e+03      78.066728     13.564022      5.830161    219.113911\n",
       "std    2.900466e+04     814.192578     77.269020    396.532467    989.998688\n",
       "min    0.000000e+00       0.000000      0.000000      0.000000      0.000000\n",
       "25%    6.000000e+01       1.000000      0.000000      0.000000      0.000000\n",
       "50%    2.090000e+02       7.000000      2.000000      0.000000     50.060000\n",
       "75%    9.750000e+02      31.000000      8.000000      0.000000    161.660000\n",
       "max    3.503429e+06  125474.000000   2778.000000  93694.000000  53898.840000"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(df.dtypes)\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "A8 = datetime(2018, 8, 8, 0, 0, 0)\n",
    "A15 = datetime(2018, 8, 15, 0, 0, 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>clickcount</th>\n",
       "      <th>replycount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>shang</th>\n",
       "      <th>totalScore</th>\n",
       "      <th>posttime</th>\n",
       "      <th>afterA8</th>\n",
       "      <th>afterA15</th>\n",
       "      <th>days</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>134</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-15 00:47:55</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>83</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-15 06:38:52</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>499</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>50.72</td>\n",
       "      <td>2018-07-15 15:10:31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11535</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 09:03:09</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>89</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2018-07-16 10:08:26</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     clickcount  replycount  upCount  shang  totalScore            posttime  \\\n",
       "pid                                                                           \n",
       "1           134           6        0    0.0        0.00 2018-07-15 00:47:55   \n",
       "2            83           6        0    0.0        0.00 2018-07-15 06:38:52   \n",
       "3           499           4        1    0.0       50.72 2018-07-15 15:10:31   \n",
       "4         11535           5        0    0.0        0.00 2018-07-16 09:03:09   \n",
       "5            89           1        0    0.0        0.00 2018-07-16 10:08:26   \n",
       "\n",
       "     afterA8  afterA15  days  \n",
       "pid                           \n",
       "1      False     False     0  \n",
       "2      False     False     0  \n",
       "3      False     False     0  \n",
       "4      False     False     1  \n",
       "5      False     False     1  "
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['afterA8'] = df['posttime'].apply(lambda x: x>A8)\n",
    "df['afterA15'] = df['posttime'].apply(lambda x: x>A15)\n",
    "df['days'] = df['posttime'].apply(lambda x: (x-datetime(2018,7,15)).days)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.asanyarray(df[['days']])\n",
    "y = np.asanyarray(df[['upCount', 'shang', 'totalScore']])\n",
    "model = LinearRegression(n_jobs=2).fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1232323a4a8>"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df['days'], df[['upCount']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1231a8f2358>"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df['days'], df[['shang']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1231a802f98>"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df['days'], df[['totalScore']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "import statsmodels.api as sm\n",
    "import statsmodels.formula.api as smf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.asanyarray(df[['days']])\n",
    "y = np.asanyarray(df[['upCount']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th>  <td>   0.034</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th>  <td>   0.034</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th>  <td>   2598.</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Wed, 12 Dec 2018</td> <th>  Prob (F-statistic):</th>   <td>  0.00</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>16:43:15</td>     <th>  Log-Likelihood:    </th> <td>-3.7597e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 73717</td>      <th>  AIC:               </th>  <td>7.519e+05</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td> 73716</td>      <th>  BIC:               </th>  <td>7.520e+05</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     1</td>      <th>                     </th>      <td> </td>     \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>      <td> </td>     \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "   <td></td>     <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th> <td>    0.0950</td> <td>    0.002</td> <td>   50.967</td> <td> 0.000</td> <td>    0.091</td> <td>    0.099</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>19451.592</td> <th>  Durbin-Watson:     </th>  <td>   0.064</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th>  <td> 0.000</td>   <th>  Jarque-Bera (JB):  </th> <td>131055.721</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>           <td>-1.100</td>   <th>  Prob(JB):          </th>  <td>    0.00</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>       <td> 9.150</td>   <th>  Cond. No.          </th>  <td>    1.00</td> \n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.034\n",
       "Model:                            OLS   Adj. R-squared:                  0.034\n",
       "Method:                 Least Squares   F-statistic:                     2598.\n",
       "Date:                Wed, 12 Dec 2018   Prob (F-statistic):               0.00\n",
       "Time:                        16:43:15   Log-Likelihood:            -3.7597e+05\n",
       "No. Observations:               73717   AIC:                         7.519e+05\n",
       "Df Residuals:                   73716   BIC:                         7.520e+05\n",
       "Df Model:                           1                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "x1             0.0950      0.002     50.967      0.000       0.091       0.099\n",
       "==============================================================================\n",
       "Omnibus:                    19451.592   Durbin-Watson:                   0.064\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):           131055.721\n",
       "Skew:                          -1.100   Prob(JB):                         0.00\n",
       "Kurtosis:                       9.150   Cond. No.                         1.00\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = sm.OLS(X, y).fit()\n",
    "result.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
